Part Number Hot Search : 
C68HC TER22 X5114 1N5271UR 7C036V KDR393S E2003S 1N5222B
Product Description
Full Text Search
 

To Download DS1977 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 of 28 rev: 090403 note: some revisions of this device may incorporate deviations from published specifications known as errata. multiple revisions of any device may be simultaneously available through various sales channels. for information about device errata, click here: www.maxim-ic.com/errata . ibutton description the DS1977 is a 32kb eeprom in a rugged, ibutton ? enclosure. access to the memory can be password-protected with different passwords for read-only and full access. data is transferred serially through the 1-wire ? protocol, which requires only a single data lead and a ground return. every DS1977 is factory lasered with a guaranteed unique 64-bit registration number that allows for absolute traceability. the durable stainless-steel ibutton package is highly resistant to environmental hazards such as dirt, moisture, and shock. accessories permit the DS1977 ibutton to be mounted on almost any object, including containers, pallets, and bags. applications maintenance/inspection data storage medical data carrier health data carrier audit data storage and carrier f5 microcan io gnd 0.51 5.89 16.25 17.35 fc 37 000000fbc52b 1-wire    all dimensions are shown in millimeters. special features  32kb eeprom organized as pages of 64 bytes each  optional password protection with different 64- bit passwords for read and full access  communicates to host with a single digital signal at up to 15.3kbps at standard speed or up to 125kbps in overdrive mode using 1-wire protocol  operating range: 2.8v to 5.25v, -40  c to +85  c  minimum 100k write cycles endurance  15kv built-in esd protection common ibutton features  unique factory-lasered 64-bit registration number assures error-free device selection and absolute traceability because no two parts are alike  built-in multidrop controller for 1-wire net  chip-based data carrier stores digital identifi- cation and information, armored in a durable stainless-steel case  data can be accessed while affixed to object  button shape is self-aligning with cup-shaped probes  easily affixed with self-stick adhesive backing, latched by its flange, or locked with a ring pressed onto its rim  presence detector acknowledges when reader first applies voltage  meets ul#913 (4th edit.); intrinsically safe apparatus: approved under entity concept for use in class i, division 1, group a, b, c, and d locations (application pending) ordering information part temp range package DS1977-f5 -40  c to +85  c f5 ibutton examples of accessories part description ds9096p self-stick adhesive pad ds9101 multipurpose clip ds9093ra mounting lock ring ds9093a snap-in fob ds9092 ibutton probe DS1977 password-protected 32kb eeprom ibutton www.maxim-ic.com ibutton, 1-wire, and microcan are registered trademarks o f dallas semiconductor.
DS1977 2 of 28 physical specification size see mechanical drawing weight DS1977 ca. 3.3g safety meets ul#913 (4 th edit.); intrinsically safe apparatus, approval under entity concept for use in class i, division 1, group a, b, c, and d locations (application pending). absolute maximum ratings i/o voltage to gnd -0.3v, +5.5v i/o sink current 20ma junction temperature +150c storage temperature range -40c to +85c stresses beyond those listed under ?absolute maximum ratings? may cause permanent damage to the device. these are stress rating s only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of t he specifications is not implied. exposure to the absolute maximum rating conditions for extended periods may affect device. electrical characteristics (v pup = 2.8v to 5.25v, t a = -40c to +85c.) parameter symbol conditions min typ max units i/o pin general data 1-wire pullup resistance r pup (notes 1, 2) 0.6 2.2 k  input capacitance c io (note 3) 5 nf input load current i l i/o pin at v pup 110a high-to-low switching threshold v tl (notes 4, 5) 0.5 3.2 v input low voltage v il (notes 1, 6) 0.30 v low-to-high switching threshold v th (notes 4, 7) 0.7 3.4 v switching hysteresis v hy (note 8) 0.15 n/a v output-low voltage at 4ma v ol (note 9) 0.4 v standard speed, r pup = 2.2k  (note 1) 5 overdrive speed, r pup = 2.2k  (note 1) 2 recovery time t rec overdrive speed, directly prior to reset pulse; r pup = 2.2k  (note 1) 5 s standard speed (note 10) 0.5 5 rising-edge hold-off time t reh overdrive speed (note 10) 0.5 2 s standard speed (note 1) 65 timeslot duration t slot overdrive speed (note 1) 8 s i/o pin, 1-wire reset, presence detect cycle standard speed (note 1) 480 640 reset low time t rstl overdrive speed (note 1) 48 80 s standard speed (note 11) 15 60 presence detect high time t pdh overdrive speed (note 11) 2.5 6.5 s standard speed, v pup > 4.5v (note 12) 1.5 5 standard speed (note 12) 1.5 8 presence detect fall time t fpd overdrive speed (note 12) 0.15 1 s standard speed 60 240 presence detect low time t pdl overdrive speed 8 24 s
DS1977 3 of 28 parameter symbol conditions min typ max units standard speed, v pup > 4.5v (note 1) 65 75 standard speed (note 1) 68 75 presence detect sample time t msp overdrive speed (note 1) 7.5 10.5 s i/o pin, 1-wire write standard speed (note 1) 60 120 write-0 low time t w0l overdrive speed (note 1) 6 16 s standard speed (notes 1, 13) 5 15 -  write-1 low time t w1l overdrive speed (notes 1, 13) 1 2 -  s i/o pin, 1-wire read standard speed (notes 1, 14) 5 15 -  read low time t rl overdrive speed (notes 1, 14) 1 2 -  s standard speed, v pup > 4.5v (notes 1, 14) t rl +  20 standard speed (notes 1, 14) t rl +  15 read sample time t msr overdrive speed (notes 1, 14) t rl +  2 s i/o pin, strong pullup strong pullup read t spur (note 1) 2.64 ms strong pullup write t spuw (note 1) 22.46 ms strong pullup password verification t spuv (note 1) 0.62 ms eeprom programming current i lprog 7ma write/erase cycles n cycle 100k ? data retention t ret 10 years note 1: system requirement. note 2: maximum allowable pullup resistance is a function of the number of 1-wire devices in the system and 1-wire recovery times. the specified value here applies to systems with only one device and with the minimum 1-wire recovery times. for more heavily loade d systems, an active pullup such as that found in the ds2480 may be required. note 3: capacitance on the data pin could be 5nf when power is first applied. note 4: v tl , v th are a function of the internal supply voltage. note 5: voltage below which, during a falling edge on i/o, a logic '0' is detected. note 6: the voltage on i/o needs to be less or equal to v ilmax whenever the master drives the line low. note 7: voltage above which, during a rising edge on i/o, a logic '1' is detected. note 8: after v th is crossed during a rising edge on i/o, the voltage on i/o has to drop by v hy to be detected as logic '0'. note 9: the i-v characteristic is linear for voltages less than 1v. note 10: the earliest recognition of a negative edge is possible at t reh after v th has been reached before. note 11: highlighted numbers are not in compliance with the published ibutton standards. see comparison table below. note 12: interval during the negative edge on i/o at the beginning of a presence detect pulse between the time at which the voltage is 9 0% of v pup and the time at which the voltage is 10% of v pup . note 13:  represents the time required for the pullup circuitry to pull the voltage on i/o up from v il to v th . note 14:  represents the time required for the pullup circuitry to pull the voltage on i/o up from v il to the input-high threshold of the bus master. standard values DS1977 values parameter standard speed overdrive speed standard speed overdrive speed name min max min max min max min max t slot (incl. t rec ) 61s (undef.) 7s (undef.) 65s 1) (undef.) 8s 1) (undef.) t rstl 480s (undef.) 48s 80s 480s 640s 48s 80s t pdh 15s 60s 2s 6s 15s 60s 2.5s 6.5s t pdl 60s 240s 8s 24s 60s 240s 8s 24s t w0l 60s 120s 6s 16s 60s 120s 6s 16s 1) intentional change, longer recovery time requirement due to modified 1-wire front end.
DS1977 4 of 28 application the DS1977 is an ideal device to store maintenance and inspection data of equipment or medical- and health- related data in digitally readable format. due to its small size and rugged enclosure the device can be carried with a keyring to provide critical data in case of an emergency. the DS1977 can also serve as data shuttle to transport fleet management and vending machine data to an access point for upload into a remote server for further processing. software for communication with the DS1977 is available for free download from the ibutton website. overview the block diagram in figure 1 shows the relationships between the major control and memory sections of the DS1977. the device has four main data components: 1) 64-bit lasered rom, 2) 512-bit scratchpad and buffer, 3) 32kb eeprom, and 4) two password buffers. the passwords can only be written and verified, but never be read. the hierarchical structure of the 1-wire protocol is shown in figure 2. the bus master must first provide one of the seven rom function commands: 1) read rom, 2) match rom, 3) search rom, 4) skip rom, 5) overdrive-skip rom, 6) overdrive-match rom or 7) resume. upon completion of an overdrive rom command byte executed at standard speed, the device will enter overdrive mode, where all subsequent communication occurs at a higher speed. the protocol required for these rom function commands is described in figure 9. after a rom function command is successfully executed, the memory and control functions become accessible and the master may provide any one of the six available commands. the protocol for these memory and control function commands is described in figure 7. all data is read and written least significant bit first. figure 1. DS1977 block diagram 32k byte eeprom memory function control 64-byte scratchpad and buffer power control crc16 generator i/o rom function control 64-bit lasered rom memory access security control
DS1977 5 of 28 figure 2. hierarchical structure for 1-wire protocol 1-wire net other devices bus master DS1977 a vailable commands: command level: data field a ffected: 1-wire rom function commands read rom match rom search rom skip rom resume overdrive skip overdrive match 64-bit rom, rc-flag 64-bit rom, rc-flag 64-bit rom, rc-flag rc-flag rc-flag rc-flag, od-flag 64-bit rom, rc-flag, od-flag DS1977-specific memory function commands write scratchpad read scratchpad copy scratchpad w/pw read memory w/pw verify password read version 64-byte scratchpad 64-byte scratchpad data memory, passwords, password enable byte data memory, passwords, password enable byte passwords version register 64-bit lasered rom each DS1977 contains a unique rom code that is 64 bits long. the first 8 bits are a 1-wire family code. the next 48 bits are a unique serial number. the last 8 bits are a crc of the first 56 bits. see figure 3 for details. the 1- wire crc is generated using a polynomial generator consisting of a shift and xor gates as shown in figure 4. the polynomial is x 8 + x 5 + x 4 + 1. additional information about the dallas 1-wire cyclic redundancy check is available in application note 27 and in the book of ds19xx ibutton standards . the shift register bits are initialized to 0. then starting with the least significant bit of the family code, one bit at a time is shifted in. after the 8 th bit of the family code has been entered, then the serial number is entered. after the 48 th bit of the serial number has been entered, the shift register contains the crc value. shifting in the 8 bits of crc returns the shift register to all 0s. figure 3. 64-bit lasered rom msb lsb 8-bit crc code 48-bit serial number 8-bit family code (37h) msb lsb msb lsb msb lsb
DS1977 6 of 28 figure 4. 1-wire crc generator x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 polynomial = x 8 + x 5 + x 4 + 1 1 st stage 2 nd stage 3 rd stage 4 th stage 6 th stage 5 th stage 7 th stage 8 th stage input data memory the memory map of the DS1977 is shown in figure 5. the 32kb of general-purpose eeprom are located in pages 0 through 510. the passwords and the password control register take 17 bytes of page 511. the remaining bytes of page 511 are not accessible to the user. the scratchpad is an additional page that acts as a buffer when writing to the eeprom memory or setting up a password, and when reading from the eeprom. figure 5. DS1977 memory map 64-byte intermediate storage scratchpad a ddress 0000h to 003fh 64-byte user eeprom page 0 0040h to 7f7fh 64-byte user eeprom pages 1 to 509 7f80h to 7fbfh 64-byte user eeprom page 510 7fc0h to 7fc7h read access password (a) 7fc8h to 7fcfh full access password (b) 7fd0h password control register 7fd1h to 7fffh (no function; will read ffh, cannot be written) security by password the DS1977 is designed to use two passwords that control read access and full access. no password applies when reading from or writing to the scratchpad. setting up a password or enabling/disabling the password checking is done in the same way as writing data to a memory location, only the address is different. since they are located in the same memory page, both passwords can be redefined at the same time. before changing passwords, disable passwords. when setting up a password, make sure that all 8 bytes of the password are defined. otherwise the new password may be unknown. always verify the scratchpad before issuing the copy scratchpad command. after a new password is successfully copied from the scratchpad to its memory location, erase the scratchpad by filling it with new data. otherwise a copy of the password will remain accessible through the scratchpad until the DS1977 is disconnected from the 1-wire line or undergoes a power-on reset.
DS1977 7 of 28 read access password this password only applies to the function "read memory with password?. if passwords are enabled (epw = aah, see password control register), the 64-bit data pattern that the 1-wire master has to transmit with the command flow is compared to the passwords stored in the DS1977 ibutton. the DS1977 delivers the requested data only if the password transmitted by the master was correct or if password checking is not enabled. read access password register addr b7 b6 b5 b4 b3 b2 b1 b0 7fc0h rp7 rp6 rp5 rp4 rp3 rp2 rp1 rp0 7fc1h rp15 rp14 rp13 rp12 rp11 rp10 rp9 rp8 ??? 7fc6h rp55 rp54 rp53 rp52 rp51 rp50 rp49 rp48 7fc7h rp63 rp62 rp61 rp60 rp59 rp58 rp57 rp56 there is only write access to this register. the read access password needs to be transmitted exactly in the sequence rp0, rp1? rp62, rp63. full access password this password applies to the functions "read memory with password? and "copy scratchpad with password?. if passwords are enabled (epw = aah, see password control register), the 64-bit data pattern that the 1-wire master has to transmit with the command flow is compared to the passwords stored in the DS1977 ibutton. the DS1977 executes the command only if the password transmitted by the master was correct or if password checking is not enabled. full access password register addr b7 b6 b5 b4 b3 b2 b1 b0 7fc8h fp7 fp6 fp5 fp4 fp3 fp2 fp1 fp0 7fc9h fp15 fp14 fp13 fp12 fp11 fp10 fp9 fp8 ??? 7fceh fp55 fp54 fp53 fp52 fp51 fp50 fp49 fp48 7fcfh fp63 fp62 fp61 fp60 fp59 fp58 fp57 fp56 there is only write access to this register. the full access password needs to be transmitted exactly in the sequence fp0, fp1? fp62, fp63. password control register the data pattern stored in the password control register determines whether password checking is enabled. if password checking is enabled, the password transmitted is compared to the passwords stored in the device. reading from or writing to the scratchpad does not require a password. password control register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 7fd0h epw register details bit description bit(s) definition epw: enable passwords b0 to b7 this byte enables or disables the password protection, which applies to reading from and writing to the memory except for the scratchpad. if the epw bits form a pattern of 10101010 (aah), the device will execute these commands only if the correct password is transmitted. the default pattern of epw is different from aah. to enable password checking, the epw bits need to form a binary pattern of 10101010 (aah). if the epw pattern is different from aah, any password will be accepted, as long as it has a length of exactly 64 bits. before enabling
DS1977 8 of 28 passwords, check whether the new password has been successfully installed. see verify password command for details. once enabled, changing the passwords or disabling password checking requires the knowledge of the current full-access password. version register the DS1977 includes a read-only version register, which is not a component of the memory map. therefore, a special command is used to read this register. the chip revision number enables application software to automatically use the appropriate software driver in case of different logical behavior. version register bitmap b7 b6 b5 b4 b3 b2 b1 b0 ver2 ver1 ver0 0 0 0 0 0 bits 0 to 4 have no function. they always read 0. register details bit description bit(s) definition (n/a) b0 to b4 these bits are all 0. ver: chip revision indicator b5 to b7 chip revision code. the initial version of the DS1977 will have all revision bits set to 0. figure 6. address registers target address (ta1)t7t6t5t4t3t2t1t0 target address (ta2) t15 t14 t13 t12 t11 t10 t9 t8 ending address with data status (e/s) (read only) aa pf e5 e4 e3 e2 e1 e0 address registers and transfer status because of the serial data transfer, the DS1977 employs three address registers, called ta1, ta2, and e/s (figure 6). registers ta1 and ta2 must be loaded with the target address to which the data will be written or from which data will be sent to the master upon a read command. register e/s acts like a byte counter and transfer status register. it is used to verify data integrity with write commands. therefore, the master only has read access to this register. the lower six bits of the e/s register indicate the address of the last byte that has been written to the scratchpad. this address is called ending offset. bit 6 of the e/s register, called pf, is set if the number of data bits sent by the master is not an integer multiple of 8 or if the data in the scratchpad is not valid due to a loss of power. a valid write to the scratchpad will clear the pf bit. note that the lowest six bits of the target address also determine the address within the scratchpad, where intermediate storage of data will begin. this address is called byte offset. if the target address for a write command is 103ch for example, then the scratchpad will store incoming data beginning at the byte offset 3ch and will be full after only four bytes. the corresponding ending offset in this example is 3fh. for best economy of speed and efficiency, the target address for writing should point to the beginning of a new page, i.e., the byte offset will be 0. thus the full 64-byte capacity of the scratchpad is available, resulting also in the ending offset of 3fh. however, it is possible to write one or several contiguous bytes somewhere within a page. the ending offset together with the partial flag support the master checking the data integrity after a write command. the highest valued bit of the e/s register, called aa is valid only if the pf flag reads 0. if pf is 0 and aa is 1, a copy has taken place. the aa bit is cleared when the device receives a write scratchpad command.
DS1977 9 of 28 writing with verification to write data to the DS1977 , the scratchpad has to be used as intermediate storage. first the master issues the write scratchpad command to specify the desired target address, followed by the data to be written to the scratchpad. under certain conditions (see write scratchpad command) the master will receive an inverted crc16 of the command, address and data at the end of the write scratchpad command sequence. knowing this crc value, the master can compare it to the value it has calculated itself to decide whether the communication was successful and proceed to the copy scratchpad command. if the master could not receive the crc16, it has to send the read scratchpad command to read back the scratchpad to verify data integrity. as preamble to the scratchpad data, the DS1977 repeats the target address ta1 and ta2 and sends the contents of the e/s register. if the pf flag is set, data did not arrive correctly in the scratchpad or there was a loss of power since data was last written to the scratchpad. the master does not need to continue reading; it can start a new trial to write data to the scratchpad. similarly, a set aa flag together with a cleared pf flag indicates that the write command was not recognized by the device. if everything went correctly, both flags are cleared and the ending offset indicates the address of the last byte written to the scratchpad; the master can continue reading and verifying every data byte. after the master has verified the data, it has to send the copy scratchpad command. this command must be followed exactly by the data of the three address registers ta1, ta2, and e/s. the master may obtain the contents of these registers by reading the scratchpad or derive it from the target address and the amount of data to be written. as soon as the DS1977 has received these bytes correctly and the master has provided an acceptable password, the DS1977 will copy the scratchpad data to the requested location beginning at the target address. memory function commands the ?memory function flow chart? (figure 7) describes the protocols necessary for accessing the memory and the special function registers of the DS1977. examples on how to use these functions to operate the DS1977 are included at the end of this document, preceding the electrical characteristics section. the communication between master and DS1977 takes place either at standard speed (default, od = 0) or at overdrive speed (od = 1). if not explicitly set into the overdrive mode the DS1977 assumes regular speed. write scratchpad command [0fh] this command is used to specify the target address and to write data to the scratchpad for verification before the transfer to the eeprom can be initiated. after issuing the write scratchpad command, the master must first provide the 2-byte target address, followed by the data to be written to the scratchpad. the data will be written to the scratchpad starting at the byte offset (t5:t0). the ending offset (e5: e0) will be the byte offset at which the master stops writing data. only full data bytes are accepted. if the last data byte is incomplete its content will be ignored and the partial byte flag pf will be set. when writing to a password address, internal circuitry of the chip will force the 3 least significant address bits to 0. only full 8-byte passwords are accepted. the ending offset will be 07 or 0f, depending on the password(s) to be changed. when executing the write scratchpad command the crc generator inside the DS1977 (figure 13) calculates an inverted crc over the entire data stream , starting at the command code and ending at the last data byte sent by the master. this crc is generated using the crc16 polyno mial by first clearing the crc generator and then shifting in the command code (0fh) of the write scratchpad command, the target addresses ta1 and ta2 as supplied by the master and all the data bytes. the master may end the write scratchpad command at any time. however, if the ending offset is 3fh, the master may send 16 read-time slots and will receive the crc generated by the DS1977 . the memory address range of the DS1977 is 0000h to 7fffh (figure 5). there is no user-access to the address range 7fd1h to 7fffh. if the master sends a target address hi gher than this, the internal circuitry of the chip will set the most significant address bit to zero as it is shifted into the internal address register. the read scratchpad command will reveal the target address as it will be used by the DS1977 . the master will identify such address modifications by comparing the target address read back to the target address transmitted. if the master does not read the scratchpad, a subsequent copy scratchpad command will not work since the most significant bits of the target address the master sends will not match the value the DS1977 expects. read scratchpad command [aah] this command is used to verify scratchpad data and target address. after issuing the read scratchpad command, the master begins reading. the first 2 bytes will be the target address. the next byte will be the ending offset/data status byte (e/s) followed by the scratchpad data beginning at the byte offset (t5:t0), as shown in figure 6.
DS1977 10 of 28 regardless of the actual ending offset the master may continue reading data until the end of the scratchpad after which it will receive an inverted crc16 of the command code, target addresses ta1 and ta2, the e/s byte, and the scratchpad data starting at the byte offset, which is determined by the target address. after the crc is read, the bus master will read logical 1s from the DS1977 until a reset pulse is issued. copy scratchpad with password [99h] this command is used to transfer data from the scratchpad to the memory. after issuing the copy scratchpad command, the master must provide a 3-byte authorization pattern, which can be obtained by reading the scratchpad for verification. this pattern must exactly match the data contained in the three address registers (ta1, ta2, e/s, in that order). next the master must send a valid full-access password, or, if passwords are not enabled, 8 dummy bytes. now the master must provide power by bypassing the 1-wire pullup resistor with an electronic switch, generating a "strong pullup". if authorization pattern and password are accepted, the aa (authorization accepted) flag will be set and the copy will begin. copy takes 10ms maximum during which the voltage on the 1- wire bus must not fall below 2.8v. after the copy is completed, the master turns off the strong pullup and begins reading from the 1-wire. a pattern of alternating 1?s and 0?s will indicate that the copy command was executed successfully. if the copy command was disturbed due to lack of power or for other reasons (see figure 7-2, "strong pullup valid?"), the master will read a constant stream of ffh bytes until it sends a 1-wire reset pulse. in this case the destination memory may be incompletely programmed requiring a write scratchpad and copy scratchpad be repeated to ensure proper programming of the eeprom. this requires careful consideration when designing application software that writes to the DS1977 in an intermittent contact environment. the data to be copied is determined by the three address registers (ta1, ta2, e/s). the scratchpad data from the beginning offset through the ending offset will be copied to memory, starting at the target address. anywhere from 1 to 64 bytes may be copied to memory with this command. read memory with password [69h] this command is used to read the entire memory, except for the passwords. after issuing the command, the master must provide the 2-byte target address. next the master must send a valid read access password, or, if passwords are not enabled, 8 dummy bytes. now the master must provide power by bypassing the 1-wire pullup resistor with an electronic switch, generating a "strong pullup". if the password was accepted, eeprom data beginning at the specified target address and ending at the page boundary will be loaded into the scratchpad starting at the beginning offset. this transfer takes 5 ms maximum during which the voltage on the 1-wire bus must not fall below 2.8v. after the transfer is completed, the master turns off the strong pullup and begins reading from the 1-wire. when the end of the memory page (end of scratchpad) is reached, the master will receive an inverted crc16 of the command, target address and page data. if the master wants to read more data and the end of the memory is not yet reached, it again has to activate the strong pullup. this will transfer a full 64-byte page of memory data to the scratchpad from where the master can read it by issuing read-time slots. this transfer only takes place if the DS1977 receives enough power through the 1-wire line (see figure 7-3, "strong pullup valid?"). the loop of strong pullup and reading 64 bytes can be repeated until the end of the memory is reached, at which point the master will read logic 1's. verify password [c3h] this command allows the user to verify whether the process of updating a password was successful, eliminating the risk of a weak programming of the memory cells that actually store the password. the command allows verifying one password at a time. after issuing the command code, the master must send the memory address of the password to be verified. next the master transmits the password itself and generates a strong pullup to provide the power for the password comparison. this takes 5ms maximum, during which the voltage on the 1-wire bus must not fall below 2.8v. after the comparison is completed, the master turns off the strong pullup and begins reading from the 1-wire line. a pattern of alternating 1's and 0's indicates that the verification was successful, i. e., the password supplied by the master matches the one stored in the DS1977. if the passwords do not match, the master will read a constant stream of ffh bytes until it sends a reset pulse. before changing a password, first disable the use of passwords. then using write scratchpad, read scratchpad and copy scratchpad, write the new password to its respective memory location. now use verify password to double-check whether the password reads correctly from the eeprom memory. if the verification is successful, it is safe to again enable passwords.
DS1977 11 of 28 figure 7-1. memory/control function flow chart n master tx memory function command 0fh write scratchpad master tx ta1 (t7:t0), ta2 (t15:t8) DS1977 sets scratch- pad offset = (t5:t0) and clears (pf, aa) master tx data byte to scratchpad offset DS1977 sets (e5:e0) = scratchpad offset master tx reset? scratch- pad offset = 3fh? master rx crc16 of command, address data DS1977 incre- ments scratch- pad offset master rx "1"s master tx reset? master tx reset? partial byte written? pf = 1 aah read scratchpad master rx ta1 (t7:t0) master rx ta2 (t15:t8) master rx ending offset with data status (e/s) master tx reset? scratch- pad offset = 3fh? master rx crc16 of command, address data, e/s byte, and data starting at the target address DS1977 incre- ments scratch- pad offset master rx "1"s master tx reset? DS1977 sets scratch- pad offset = (t5:t0) master rx data byte from scratchpad offset from rom functions flow chart (figure 9) to rom functions flow chart (figure 9) n y n y n y n y n y n y n y n y n y n y address of password? DS1977 sets scratchpad offset = (t5:t3,0,0,0) and clears (pf, aa, t2:t0) y master tx one or both 8-byte passwords to figure 7 2 nd part from figure 7 2 nd part
DS1977 12 of 28 figure 7-2. memory/control function flow chart 99h copy scrpad. [w/pw] master tx e/s byte authorization code match? DS1977 copies scratchpad data or data from password holding register (if password address) to memory strong pull- up valid? master tx reset? aa = 1 master tx ta1 (t7:t0), ta2 (t15:t8) master tx 64-bits [password] password accepted? DS1977 tx "0" DS1977 tx "1" master tx reset? n y n y n y y n master tx reset? master rx "1"s n y n y n y authorization code master activates strong pullup n address of password? y read- access passw.? save to read password holding re g iste r y n save to full- access password holding register more data in sp? y n to figure 7 3 rd part from figure 7 3rd part from figure 7 1 st part to figure 7 1 st part note : the strong pullup must be activated within 40s after the last bit of the password is transmitted. pullup duration: see t spuw
DS1977 13 of 28 figure 7-3 . memory/control function flow chart 69h read mem. [w/pw] master tx 64-bits [password] master tx reset? crc ok? master rx "1"s DS1977 sets memory address = (t15:t0) master rx data byte from memory address or ffh if password address master tx ta1 (t7:t0), ta2 (t15:t8) password accepted? DS1977 incre- ments address counter end of page? master rx crc16 of command, address, data (1 st pass); crc16 of data (subsequent passes) end of memory? master tx reset n y n y n y n y n y n y n y decision made b y DS1977 decision made by master master activates strong pullup DS1977 incre- ments address counter master activates strong pullup strong pull- up valid? y n master tx reset? to figure 7 4 th part from figure 7 4 th part from figure 7 2 nd part to figure 7 2 nd part note : the strong pullup must be activated within 40s after the last bit of the password is transmitted. pullup duration: see t spur to continue reading the next memory page, the strong pullup must be activated within 40s after the last bit of the crc16 is read. see note
DS1977 14 of 28 figure 7-4. memory/control function flow chart master tx ta1 (t7:t0), ta2 (t15:t8) c3h verify password n y n y master tx password to verify DS1977 sets memory address = (t15:t3, 0, 0, 0) password match? n y master activates strong pullup master tx reset? address of password? y n master rx aah byte master rx ffh byte n y master tx reset? from figure 7 3 rd part to figure 7 3 rd part cch read version y n master tx two bytes 00h master rx two copies of version register note : the strong pullup must be activated within 40s after the last bit of the password is transmitted. pullup duration: see t spuv
DS1977 15 of 28 read version command [cch] this command allows the master to read the chip revision code of the DS1977. after issuing the command code, the master sends two 00h-bytes to access the version register. with the next 16 time slots the master receives two copies of the content of the version register. additional read-time slots will read logic 1's. only the upper 3 bits of the version register are valid. the lower 5 bits will all read 0. 1-wire bus system the 1-wire bus is a system, which has a single bus master and one or more slaves. in all instances the DS1977 is a slave device. the bus master is typically a microcontroller or pc. for small configurations the 1-wire communication signals can be generated under software control using a single port pin. a second port pin is required to control the strong pullup to supply power for the commands copy scratchpad with password, read memory with password and verify password. alternatively, the ds2480b 1-wire line driver chip or serial port adapters based on this chip (ds9097u series) are can be used. this simplifies the hardware design and frees the microprocessor from responding in real-time. the discussion of this bus system is broken down into three topics: hardware configuration, transaction sequence, and 1-wire signaling (signal types and timing). the 1-wire protocol defines bus transactions in terms of the bus state during specific time slots that are initiated on the falling edge of sync pulses from the bus master. for a more detailed protocol description, refer to chapter 4 of the book of ds19xx ibutton standards. hardware configuration the 1-wire bus has only a single line by definition; it is important that each device on the bus be able to drive it at the appropriate time. to facilitate this, each device attached to the 1-wire bus must have open drain or tri-state outputs. the 1-wire port of the DS1977 is open-drain with an internal circuit equivalent to that shown in figure 8. a multi-drop bus consists of a 1-wire bus with multiple slaves attached. at standard speed the 1-wire bus has a maximum data rate of 15.3 kbits per second. the speed can be boosted to 125 kbits per second by activating the overdrive mode. the value of the pullup resistor primarily depends on the network size and load conditions. for most applications the optimal value of the pullup resistor will be approximately 2.2k  for standard speed and 1.5k  for overdrive speed. the idle state for the 1-wire bus is high. if for any reason a transaction needs to be suspended, the bus must be left in the idle state if the transaction is to resume. if this does not occur and the bus is left low for more than 16s (overdrive speed) or more than 120s (standard speed), one or more devices on the bus may be reset. transaction sequence the protocol for accessing the DS1977 through the 1-wire port is as follows:  initialization  rom function command  memory function command  transaction/data illustrations of the transaction sequence for the various memory function commands are found later in this document. initialization all transactions on the 1-wire bus begin with an initialization sequence. the initialization sequence consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the slave(s). the presence pulse lets the bus master know that the DS1977 is on the bus and is ready to operate. for more details, see the 1- wire signaling section. 1-wire rom function commands once the bus master has detected a presence, it can issue one of the eight rom function commands. all rom function commands are 8 bits long. a list of these commands follows (refer to flowchart in figure 9).
DS1977 16 of 28 figure 8. hardware configuration open drain port pin spu = strong pullup rx = receive tx = transmit 100  mosfet rx tx tx rx data simple bus master DS1977 1-wire port v pup see text r pup ds2480b +5v host cpu vdd pol rxd txd vpp 1-w nc gnd serial in serial out serial port to 1-wire data ds2480b bus master irlms6702 or equivalent spu read rom [33h] this command allows the bus master to read the DS1977?s 8-bit family code, unique 48-bit serial number, and 8-bit crc. this command can only be used if there is a single DS1977 on the bus. if more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the same time (open drain will produce a wired- and result). the resultant family code and 48-bit serial number will result in a mismatch of the crc. match rom [55h] the match rom command, followed by a 64-bit rom sequence, allows the bus master to address a specific DS1977 on a multidrop bus. only the DS1977 that exactly matches the 64-bit rom sequence will respond to the following memory function command. all slaves that do not match the 64-bit rom sequence will wait for a reset pulse. this command can be used with a single or multiple devices on the bus. search rom [f0h] when a system is initially brought up, the bus master might not know the number of devices on the 1-wire bus or their 64-bit rom codes. the search rom command allows the bus master to use a process of elimination to identify the 64-bit rom codes of all slave devices on the bus. the search rom process is the repetition of a simple three-step routine: read a bit, read the complement of the bit, then write the desired value of that bit. the bus master performs this simple, three-step routine on each bit of the rom. after one complete pass, the bus master knows the contents of the rom in one device. the remaining number of devices and their rom codes may be identified by additional passes. see application note 187 for a comprehensive discussion of the 1-wire search algorithm. skip rom [cch] this command can save time in a single-drop bus system by allowing the bus master to access the memory functions without providing the 64-bit rom code. if more than one slave is present on the bus and a read command is issued following the skip rom command, data collision will occur on the bus as multiple slaves transmit simultaneously (open drain pulldowns will produce a wired-and result).
DS1977 17 of 28 figure 9-1. rom functions flow chart from figure 9 2 nd part to memory functions flow chart ( fi g ure 7 ) master tx bit 0 master tx bit 63 master tx bit 1 bit 63 match ? rc = 0 DS1977 tx bit 0 DS1977 tx bit 0 master tx bit 0 DS1977 tx bit 1 DS1977 tx bit 1 master tx bit 1 DS1977 tx bit 63 DS1977 tx bit 63 master tx bit 63 rc = 1 bit 1 match ? bit 0 match ? y n y n y n bit 63 match ? rc = 0 rc = 1 bit 1 match ? bit 0 match ? y n y n y n rc = 0 DS1977 tx crc b y te DS1977 tx serial number (6 bytes) DS1977 tx family code (1 byte) rc = 0 to figure 9 2 nd part n f0h search rom command ? n 55h match rom command ? n cch skip rom command ? y y y y n 33h read rom command ? to figure 9 2 nd part from memory functions flow chart ( fi g ure 9 ) bus master tx rom function command DS1977 tx presence pulse od reset pulse ? n y od = 0 bus master tx reset pulse from fi g ure 9, 2 nd part
DS1977 18 of 28 figure 9-2. rom functions flow chart to figure 9 1 st part from figure 9 1 st part from figure 9 1 st part to figure 9, 1 s t part y n a5h resume command ? rc = 1 ? y n 3ch overdrive skip rom ? rc = 0 ; od = 1 master tx reset ? y n n y master tx reset ? n y master tx bit 0 master tx bit 63 master tx bit 1 bit 63 match ? rc = 0 ; od = 1 rc = 1 bit 1 match ? y n y n bit 0 match ? y n y n 69h overdrive match rom ?
DS1977 19 of 28 resume command [a5h] the resume command function maximizes the data throughput in a multidrop environment. this function checks the status of the rc bit and, if it is set, directly transfers control to the memory/control functions, similar to a skip rom command. the only way to set the rc bit is through successfully executing the match rom, search rom or overdrive match rom command. once the rc bit is set, the device can repeatedly be accessed through the resume command function. accessing another device on the bus will clear the rc bit, preventing two or more devices from simultaneously responding to the resume command function. overdrive skip rom [3ch] on a single-drop bus this command can save time by allowing the bus master to access the memory functions without providing the 64-bit rom code. unlike the normal skip rom command, the overdrive skip rom sets the DS1977 in the overdrive mode (od = 1). all communication following this command has to occur at overdrive speed until a reset pulse of minimum 480s duration resets all devices on the bus to standard speed (od = 0). when issued on a multidrop bus this command will set all overdrive-supporting devices into overdrive mode. to subsequently address a specific overdrive-supporting device, a reset pulse at overdrive speed has to be issued followed by a match rom or search rom command sequence. this will speed up the time for the search process. if more than one slave supporting overdrive is present on the bus and the overdrive skip rom command is followed by a read command, data collision will occur on the bus as multiple slaves transmit simultaneously (open drain pulldowns will produce a wired-and result). overdrive match rom [69h] the overdrive match rom command followed by a 64-bit rom sequence transmitted at overdrive speed allows the bus master to address a specific DS1977 on a multidrop bus and to simultaneously set it in overdrive mode. only the DS1977 that exactly matches the 64-bit rom sequence will respond to the subsequent memory function command. slaves already in overdrive mode from a previous overdrive skip or match command will remain in overdrive mode. all overdrive-capable slaves will return to standard speed at the next reset pulse of minimum 480s duration. the overdrive match rom command can be used with a single or multiple devices on the bus. 1-wire signaling the DS1977 requires strict protocols to ensure data integrity. the protocol consists of five types of signaling on one line: reset sequence with reset pulse and presence pulse, write-zero, write-one read-data, and strong pullup to supply power over the 1-wire line. except for the presence pulse the bus master initiates all these signals. the DS1977 can communicate at two different speeds, standard speed and overdrive speed. if not explicitly set into the overdrive mode, the DS1977 will communicate at standard speed. while in overdrive mode the fast timing applies to all waveforms. to get from idle to active, the voltage on the 1-wire line needs to fall from v pup below the threshold v tl . to get from active to idle, the voltage needs to rise from v ilmax past the threshold v th . the time it takes for the voltage to make this rise, in figure 10 as  , and its duration depends on the pullup resistor (rpup) used and capacitance of the 1-wire network attached. the voltage v ilmax is relevant for the DS1977 when determining a logical level, not triggering any events. the initialization sequence required to begin any communication with the DS1977 is shown in figure 10. a reset pulse followed by a presence pulse indicates the DS1977 is ready to receive data, given the correct rom and memory function command. if the bus master uses slew-rate control on the falling edge, it must pull down the line for t rstl + t f to compensate for the edge. a t rstl duration of 480s or longer will exit the overdrive mode returning the device to standard speed. if the DS1977 is in overdrive mode and t rstl is no longer than 80s the device will remain in overdrive mode.
DS1977 20 of 28 figure 10. initialization procedure ?reset and presence pulses? resistor master DS1977 t rstl t pdl t rsth t pdh master tx ?reset pulse? master rx ?presence pulse? v pup v ihmaster v th v tl v ilmax 0v  t f t rec t msp after the bus master has released the line it goes into receive mode (rx). now the 1-wire bus is pulled to v pup via the pullup resistor or, in case of a ds2480b driver, by active circuitry. when the threshold v th is crossed, the DS1977 waits for t pdh and then transmits a presence pulse by pulling the line low for t pdl . to detect a presence pulse, the master must test the logical state of the 1-wire line at t msp . the t rsth window must be at least the sum of t pdhmax , t pdlmax , and t recmin . immediately after t rsth is expired, the DS1977 is ready for data communication. in a mixed population network t rsth should be extended to minimum 480s at standard speed and 48s at overdrive speed to accommodate other 1-wire devices. read/write-time slots data communication with the DS1977 takes place in time slots, which carry a single bit each. write-time slots transport data from bus master to slave. read-time slots transfer data from slave to master. the definitions of the write and read-time slots are illustrated in figure 11. all communication begins with the master pulling the data line low. as the voltage on the 1-wire line falls below the threshold v tl , the DS1977 starts its internal timing generator that determines when the data line will be sampled during a write-time slot and how long data will be valid during a read-time slot. master-to-slave for a write-one time slot, the voltage on the data line must have crossed the v thmax threshold after the write-one low time t w1lmax is expired. for a write-zero time slot, the voltage on the data line must stay below the v thmin threshold until the write-zero low time t w0lmin is expired. for most reliable communication the voltage on the data line should not exceed v ilmax during the entire t w0l window. after the v thmax threshold has been crossed, the DS1977 needs a recovery time t rec before it is ready for the next time slot . figure 11. read/write timing diagram write-one time slot resistor master v pup v ihmaster v th v tl v ilmax 0v t f t slot t w1l 
DS1977 21 of 28 figure 11 (continued) write-zero time slot resistor master t rec v pup v ihmaster v th v tl v ilmax 0v t f t slot t w0l read-data time slot resistor master DS1977 t rec v pup v ihmaster v th v tl v ilmax 0v master sampling window  t f t slot t rl t msr slave-to-master a read-data time slot begins like a write-one time slot. the voltage on the data line must remain below v tlmin until the read low time t rl is expired. during the t rl window, when responding with a 0, the DS1977 will start pulling the data line low; its internal timing generator determines when this pulldown ends and the voltage starts rising again. when responding with a 1, the DS1977 will not hold the data line low at all, and the voltage starts rising as soon as t rl is over. the sum of t rl +  (rise rime) on one side and the internal timing generator of the DS1977 on the other side define the master sampling window (t msrmin to t msrmax ) in which the master must perform a read from the data line. for most reliable communication, t rl should be as short as permissible and the master should read close to but no later than t msrmax . after reading from the data line, the master must wait until t slot is expired. this guarantees sufficient recovery time t rec for the DS1977 to get ready for the next time slot. improved network behavior 1-wire networks can only be terminated during transients controlled by the bus master (1-wire driver) and are therefore susceptible to noise of various origins. depending on the physical size and topology of the network, reflections from end points and branch points can add up or cancel each other to some extent. such reflections are visible as glitches or ringing on the 1-wire communication line. a glitch during the rising edge of a time slot can cause a slave device to lose synchronization with the master and, as a consequence, result in a search rom command coming to a dead end. for better performance in network applications, the DS1977 uses a new 1-wire front end, which makes it less sensitive to noise and also reduces the magnitude of noise injected by the slave device itself. the 1-wire front end of the DS1977 differs from traditional slave devices in four characteristics. 1) the falling edge of the presence pulse has a controlled slew rate. this provides a better match to the line impedance than a digitally switched transistor, converting the high frequency ringing known from traditional
DS1977 22 of 28 devices into a smoother low-bandwidth transition. the slew rate control is specified by the parameter t fpd , which has different values for standard and overdrive speed. 2) there is additional low-pass filtering in the circuit that detects the falling edge at the beginning of a time slot. this reduces the sensitivity to high-frequency noise. this additional filtering does not apply at overdrive speed. 3) there is a hysteresis at the low-to-high switching threshold v th . if a negative glitch crosses v th but doesn?t go below v th - v hy , it will not be recognized (figure 12, case a). the hysteresis is effective at any 1-wire speed. 4) there is a time window specified by the rising edge hold-off time t reh during which glitches will be ignored, even if they extend below v th - v hy threshold (figure 12, case b, t gl < t reh ). deep voltage droops or glitches that appear late after crossing the v th threshold and extend beyond the t reh window cannot be filtered out and will be taken as beginning of a new time slot (figure 12, case c, t gl  t reh ). only devices which have the parameters t fpd , v hy and t reh specified in their electrical characteristics use the improved 1-wire front end. figure 12. noise suppression scheme v pup v th v hy 0v t reh t gl t reh t gl case a case c case b crc generation with the DS1977 there are two different types of crcs (cyclic redundancy checks). one crc is an 8-bit type and is stored in the most significant byte of the 64-bi t rom. the bus master can compute a crc value from the first 56 bits of the 64-bit rom and compare it to the value stored within the DS1977 to determine if the rom data has been received error-free. the equivalent polynomial function of this crc is: x 8 + x 5 + x 4 + 1. this 8-bit crc is received in the true (non-inverted) form. it is computed at the factory and lasered into the rom. the other crc is a 16-bit type, generated according to the standardized crc16-polynomial function x 16 + x 15 + x 2 + 1. this crc is used for error detection when reading the memory using the read memory with password command and for fast verification of a data transfer when writing to or reading from the scratchpad. in contrast to the 8-bit crc, the 16-bit crc is always communicated in the inverted form. a crc-generator inside the DS1977 chip (figure 13) will calculate a new 16-bit crc as shown in the command flow chart of figure 9. the bus master compares the crc value read from the device to the one it calculates from the data and decides whether to continue with an operation or to reread the portion of the data with the crc error. with the initial pass through the read memory with password flow chart, the 16-bit crc value is the result of shifting the command byte into the cleared crc generator, followed by the 2 address bytes and the data bytes. the password is excluded from the crc calculation. subsequent passes through the read memo ry with password flow chart will generate a 16-bit crc that is the result of clearing the crc generator and then shifting in the data bytes. with the write scratchpad command the crc is generated by first clearing the crc generator and then shifting in the command code, the target addresses ta1 and ta2 and all the data bytes. the DS1977 will transmit this crc only if the data bytes written to the scratchpad include scratchpad ending offset 3fh. the data may start at any location within the scratchpad. with the read scratchpad command the crc is generated by first clearing the crc generator and then shifting in the command code, the target addresses ta1 and ta2, the e/s byte, and the scratchpad data starting at the target address. the DS1977 will transmit this crc only if the reading continues through the end of the scratchpad, regardless of the actual ending offset. for more information on generating crc values see application note 27.
DS1977 23 of 28 figure 13. crc16 hardware description and polynomial pol y nomial = x 16 + x 15 + x 2 + 1 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 1 st stage 2 nd stage 3 rd stage 4 th stage 6 th stage 5 th stage 7 th stage 8 th stage 9 th stage 10 th stage 11 th stage 12 th stage 13 th stage 14 th stage 15 th stage 16 th stage input dat a crc output command-specific 1-wire comm unication prot ocol?legend symbol description rst 1-wire reset pulse generated by master pd 1-wire presence pulse generated by slave select command and data to satisfy the rom function protocol ws command "write scratchpad" rs command "read scratchpad" cps command "copy scratchpad with password" rm command "read memory with password" vp command "verify password" rv command "read version" ta target address ta1, ta2 ta-e/s target address ta1, ta2 with e/s byte transfer of as many data bytes as are needed to reach the scratchpad offset 3fh transfer of as many data bytes as are needed to reach the end of a memory page transfer of 8 bytes that either represent a valid password or acceptable dummy data <64 bytes> transfer of 64 bytes transfer of an undetermined amount of data 00h transmission of one byte 00h password transmission of password version transmission of device version number crc16\ transfer of an inverted crc16 ff loop indefinite loop where the master reads ff bytes aa loop indefinite loop where the master reads aa bytes strong pullup data transfer to/from eeprom (data or passwords memory); no activity on the 1-wire bus permitted during this time
DS1977 24 of 28 command-specific 1-wire co mmunication pr otocol?color codes master to slave slave to master strong pullup write scratchpad, reaching the end of the scratchpad (cannot fail) rst pd select ws ta crc16\ ff loop write scratchpad, not reaching the end of the scratchpad (cannot fail) rst pd select ws ta rst pd read scratchpad (cannot fail) rst pd select rs ta-e/s crc16\ ff loop copy scratchpad with password (success) rst pd select cps ta-e/s strong pullup aa loop copy scratchpad with password (fail ta-e/s or password) rst pd select cps ta-e/s strong pullup ff loop read memory with password (success) rst pd select rm ta strong pullup crc16\ strong pullup <64 bytes> crc16\ ff loop read memory with password (fail password) rst pd select rm ta strong pullup ff loop loop
DS1977 25 of 28 verify password (success) rst pd select vp ta password strong pullup aa loop verify password (fail address or password) rst pd select vp ta password strong pullup ff loop read version (cannot fail) rst pd select rv 00h 00h version version ff loop communication examples the examples in this section demonstrate the use of the memory functions in typical situations. the first example shows how to read the rom and the version register. in the second example, passwords are installed. the third example shows how to write a couple of bytes and how to read adjacent memory pages. example 1 task : read the rom and the version register with only a single DS1977 connected to the bus master, the communication is as follows: master mode data (lsb first) comments tx (reset) reset pulse rx (presence) presence pulse tx 33h issue read rom command rx <8 bytes rom id> read rom id tx cch issue read version register command tx 00h, 00h write two 00h bytes rx , read chip version code twice rx ffh additional reads result in ffh bytes tx (reset) reset pulse rx (presence) presence pulse example 2 task : install and activate passwords; passwords are currently not activated this task is broken into the following steps: 1. write new passwords to scratchpad 2. read scratchpad 3. copy scratchpad 4. verify new passwords 5. activate password
DS1977 26 of 28 with only a single DS1977 connected to the bus master, the communication is as follows: master mode data (lsb first) comments step 1 tx (reset) reset pulse rx (presence) presence pulse tx cch issue skip rom command tx 0fh issue write scratchpad command tx c0h ta1, target address = c0h (password start address) tx 7fh ta2, target address = 7fc0h tx write 8-byte read password to scratchpad tx write 8-byte full-access password to scratchpad tx (reset) reset pulse rx (presence) presence pulse step 2 tx cch issue skip rom command tx aah issue read scratchpad command rx c0h read ta1, target address = c0h rx 7fh read ta2, target address = 7fc0h rx 0fh read e/s-byte rx <16 bytes> read both passwords from scratchpad and compare to what was written tx (reset) reset pulse rx (presence) presence pulse step 3 tx cch issue skip rom command tx 99h issue copy scratchpad with password command tx c0h ta1, target address = c0h tx 7fh ta2, target address = 7fc0h tx 0fh e/s-byte tx <8 bytes> transmit 8 dummy bytes as password, because passwords are not yet enabled (?) (activate strong pullup for t prog ) supply power for programming rx aah read to check for programming success; aah means success tx (reset) reset pulse rx (presence) presence pulse step 4 tx cch issue skip rom command tx c3h issue verify password command tx c0h ta1, target address = c0h (read password address) tx 7fh ta2, target address = 7fc0h tx transmit read password (?) (activate strong pullup for t prog ) supply power for password comparison rx aah check for password match; aah = match tx (reset) reset pulse rx (presence) presence pulse tx cch issue skip rom command tx c3h issue verify password command tx c8h ta1, target address = c8h (full-access
DS1977 27 of 28 master mode data (lsb first) comments password address) tx 7fh ta2, target address = 7fc8h tx transmit full-access password (?) (activate strong pullup for t prog ) supply power for password comparison rx aah check for password match; aah = match tx (reset) reset pulse rx (presence) presence pulse step 5 tx cch issue skip rom command tx 0fh issue write scratchpad command tx d0h ta1, target address = d0h (password control register address) tx 7fh ta2, target address = 7fd0h tx aah write password enabling pattern tx (reset) reset pulse rx (presence) presence pulse tx cch issue skip rom command tx aah issue read scratchpad command rx d0h read ta1, target address = d0h rx 7fh read ta2, target address = 7fd0h rx 10h read e/s-byte rx aah verify password enabling pattern tx (reset) reset pulse rx (presence) presence pulse tx cch issue skip rom command tx 99h issue copy scratchpad with password command tx c0h ta1, target address = d0h tx 7fh ta2, target address = 7fd0h tx 10h e/s-byte tx <8 bytes> transmit 8 dummy bytes as password, because passwords are not yet enabled (?) (activate strong pullup for t prog ) supply power for programming rx aah read to check for programming success; aah means success tx (reset) reset pulse rx (presence) presence pulse instead of always using skip rom, one could use read rom first to learn the device's rom identification (see example 1). for the next access one would use the match rom command and send the correct rom identification to address the device. subsequent accesses could use the resume command. this procedure ensures that devices cannot be swapped during a communication session. example 3 task : write 10 data bytes starting at address 00a0h in page 2; read memory pages 2 and 3. the device has passwords installed and activated. this task is broken into the following steps: 1. write data to scratchpad 2. read scratchpad 3. copy scratchpad 4. read the entire memory page 3 5. continue reading through the end of page 4
DS1977 28 of 28 with only a single DS1977 connected to the bus master, the communication is as follows: master mode data (lsb first) comments step 1 tx (reset) reset pulse rx (presence) presence pulse tx cch issue skip rom command tx 0fh issue write scratchpad command tx a0h ta1, target address = a0h (start address) tx 00h ta2, target address = 00a0h tx <10 data bytes> write data bytes to scratchpad tx (reset) reset pulse rx (presence) presence pulse step 2 tx cch issue skip rom command tx aah issue read scratchpad command rx a0h read ta1, target address = a0h rx 00h read ta2, target address = 00a0h rx 29h read e/s-byte rx <10 bytes> read from scratchpad and compare to what was written tx (reset) reset pulse rx (presence) presence pulse step 3 tx cch issue skip rom command tx 99h issue copy scratchpad with password command tx a0h ta1, target address = a0h tx 00h ta2, target address = 00a0h tx 29h e/s-byte tx transmit full-access password (8 bytes) (?) (activate strong pullup for t prog ) supply power for programming rx aah read to check for programming success; aah means success tx (reset) reset pulse rx (presence) presence pulse step 4 tx cch issue skip rom command tx 69h issue read memory with password command tx 80h ta1, target address = 80h tx 00h ta2, target address = 0080h tx transmit read password (8 bytes) (?) (activate strong pullup for t prog ) supply power for reading rx <64 bytes> read data from page 2 rx <2 bytes crc16> read inverted crc16 step 5 (?) (activate strong pullup for t prog ) supply power for reading rx <64 bytes> read data from page 3 rx <2 bytes crc16> read inverted crc16 tx (reset) reset pulse rx (presence) presence pulse


▲Up To Search▲   

 
Price & Availability of DS1977

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X